package com.services;

import com.dao.UserDao;
import com.pojo.User;
import com.utils.Md5Utils;
import com.utils.Result;

import java.util.List;

public class UserService {
    private final UserDao dao = new UserDao();
    public Result login(User u) {
        //使用MD5加密密码
        String pwd = Md5Utils.MD5Encode(u.getPassword(), "utf-8", false);
        //获取查询的结果
        User user = dao.queryByUsername(u.getUsername());
        if (user != null){
            if (pwd.equals(user.getPassword())){
                //设置密码未空
                user.setPassword(null);
                //将信息存入结果
                return Result.me(user);
            }else {
                return Result.me(false).setMsg("用户名或密码错误");
            }
        }else {
            return Result.me(false).setMsg("用户名或密码错误");
        }
    }

    public Result execute(User u) {
        //将密码加密
        String pwd = Md5Utils.MD5Encode(u.getPassword(), "utf-8", false);
        u.setPassword(pwd);
        //调用dao层插入数据
        int i = dao.insert(u);
        if (i > 0){
            return  Result.me().setMsg("注册成功,请<a href='login.jsp'>登录</a>");
        }else {
            return Result.me(false).setMsg("失败了,请稍后再试!!!");
        }
    }


    public Result setPwd(User u) {
        //加密密码
        String pwd = Md5Utils.MD5Encode(u.getPassword(), "utf-8", false);
        u.setPassword(pwd);
        int i = dao.updatePwd(u);
        if (i > 0){
            return  Result.me().setMsg("重置密码成功,请<a href='login.jsp'>登录</a>");
        }else {
            return Result.me(false).setMsg("失败了,用户名或者邮箱不存在!!!");
        }
    }

    public Result getUsername(String username) {
        User user = dao.queryByUsername(username);
        if (user != null){
            return Result.me().setMsg("用户名已存在!");
        }else {
            return Result.me(false);
        }
    }
}
